// pages/mine/mine.js
const app = getApp()

Page({
  data: {
    goodDays: 0,
    donationAmount: 0,
    monthlyTimes: 0,
    donateSteps: 0,
    donateBooks: 0,
    userInfo: null,
    hasUserInfo: false
  },

  onLoad() {
    this.loadUserInfo()
  },

  onShow() {
    // 每次显示页面时重新加载用户信息
    this.loadUserInfo()
  },

  /**
   * 加载用户信息
   */
  loadUserInfo() {
    const loginStatus = app.getLoginStatus()
    console.log('我的页面 - 加载用户信息:', loginStatus)
    
    // 调试信息
    if (loginStatus.userInfo) {
      console.log('用户头像URL:', loginStatus.userInfo.avatarUrl || loginStatus.userInfo.avatar)
      console.log('用户昵称:', loginStatus.userInfo.nickName || loginStatus.userInfo.nickname)
    }
    
    this.setData({
      userInfo: loginStatus.userInfo,
      hasUserInfo: loginStatus.hasLogin
    })
  },

  onViewDonations() {
    wx.showToast({ title: '功能建设中', icon: 'none' })
  },

  onAbout() {
    wx.showModal({
      title: '关于助学慈善',
      content: '我们致力于帮助孩子完成学业，感谢您的爱心支持。',
      showCancel: false
    })
  },
  openNotice() {
    wx.navigateTo({ url: '/pages/notice/notice' })
  },
  onMedal() { wx.showToast({ title: '敬请期待', icon: 'none' }) },
  onReceipt() { wx.showToast({ title: '票据功能建设中', icon: 'none' }) },
  onMoreRecords() { wx.navigateTo({ url: '/pages/donate/records' }) },
  onMonthly() { wx.showToast({ title: '月捐记录', icon: 'none' }) },
  onSteps() { wx.showToast({ title: '捐步记录', icon: 'none' }) },
  onBooks() { wx.showToast({ title: '捐书记录', icon: 'none' }) },
  onAchievements() { wx.showToast({ title: '成就荣誉', icon: 'none' }) },
  onFlowers() { wx.showToast({ title: '小红花', icon: 'none' }) },

  /**
   * 调试用户信息（长按头像触发）
   */
  onDebugUserInfo() {
    const loginStatus = app.getLoginStatus()
    const userInfo = loginStatus.userInfo
    
    if (!userInfo) {
      wx.showModal({
        title: '调试信息',
        content: '当前没有用户信息',
        showCancel: false
      })
      return
    }
    
    const debugInfo = [
      `登录状态: ${loginStatus.hasLogin ? '已登录' : '未登录'}`,
      `昵称: ${userInfo.nickName || userInfo.nickname || '无'}`,
      `头像URL: ${userInfo.avatarUrl || userInfo.avatar || '无'}`,
      `性别: ${userInfo.gender === 1 ? '男' : userInfo.gender === 2 ? '女' : '未知'}`,
      `城市: ${userInfo.city || '无'}`,
      `省份: ${userInfo.province || '无'}`
    ].join('\n')
    
    wx.showModal({
      title: '用户信息调试',
      content: debugInfo,
      showCancel: false,
      confirmText: '确定'
    })
  },

  /**
   * 账号管理
   */
  onAccountManage() {
    const options = ['切换账号', '退出登录']
    
    wx.showActionSheet({
      itemList: options,
      success: (res) => {
        if (res.tapIndex === 0) {
          // 切换账号
          this.onSwitchAccount()
        } else if (res.tapIndex === 1) {
          // 退出登录
          this.onLogout()
        }
      }
    })
  },

  /**
   * 切换账号
   */
  onSwitchAccount() {
    wx.showModal({
      title: '切换账号',
      content: '切换账号将清除当前登录信息，是否继续？',
      confirmText: '确定',
      cancelText: '取消',
      success: (res) => {
        if (res.confirm) {
          // 清除当前登录状态
          app.clearLoginStatus()
          
          // 跳转到登录页
          wx.reLaunch({
            url: '/pages/login/login'
          })
        }
      }
    })
  },

  /**
   * 退出登录
   */
  onLogout() {
    wx.showModal({
      title: '退出登录',
      content: '确定要退出当前账号吗？',
      confirmText: '退出',
      cancelText: '取消',
      success: (res) => {
        if (res.confirm) {
          // 显示退出中提示
          wx.showLoading({
            title: '退出中...',
            mask: true
          })

          // 清除登录状态
          app.clearLoginStatus()

          setTimeout(() => {
            wx.hideLoading()
            wx.showToast({
              title: '已退出登录',
              icon: 'success',
              duration: 1500
            })

            // 跳转到登录页
            setTimeout(() => {
              wx.reLaunch({
                url: '/pages/login/login'
              })
            }, 1500)
          }, 800)
        }
      }
    })
  },

  /**
   * 用户头像点击 - 如果未登录则跳转登录
   */
  onUserAvatarTap() {
    if (!this.data.hasUserInfo) {
      wx.showModal({
        title: '未登录',
        content: '您还未登录，是否前往登录？',
        confirmText: '去登录',
        cancelText: '取消',
        success: (res) => {
          if (res.confirm) {
            wx.navigateTo({
              url: '/pages/login/login'
            })
          }
        }
      })
    } else {
      // 已登录用户点击头像显示账号管理选项
      this.onAccountManage()
    }
  }
})

